<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h2>问答题</h2>
    <p>1. 在正则表达式中，|字符表示什么意思？</p>
	<p>'或者' ，匹配左边或者右边中的一个</p>
	<p>2. 在正则表达式中，？字符表示什么意思？</p>
	<p>匹配0个或者1个n的字符串</p>
	<p>3. 在正则表达式中，+和*字符之间的区别是什么？</p>
	<p>+至少包含一个 *包含0个或多个</p>
	<p>4. 在正则表达式中，{3}和{3,5}之间的区别是什么？</p>
	<p>{3}包含3个匹配项 {3，5}包含3个到5个</p>
	<p>5. 字符.通常匹配什么？</p>
	<p>匹配除换行之外的任意字符</p>
	<p>6. 如何让正则表达式不区别大小写？</p>
	<p>在末尾添加模式修正符i</p>
	<p>7. 匹配所有数字和小写字母的字符分类语法是什么？</p>
    <p>[0-9] 和 [a-z]</p>
	<p>8. .*和.*?之间的区别是什么？</p>
	<p>.* 贪婪模式 :匹配 .*?非贪婪模式</p>
	<p>9. 在正则表达式中，\D、\W和\S缩写字符类是什么意思？</p>
	<p>\D:除数字意外的字符</p>
	<p>\W:除字母数字下划线以外一个字符</p>
	<p>\S:匹配除空白字符以外的任何一个字符</p>
	<p>10. 在正则表达式中，\d、\w和\s缩写字符类是什么意思？</p>
	<p>\d:匹配数字</p>
	<p>\w:匹配字母数字和下划线字符</p>
	<p>\s:匹配一个空白字符</p>
</body>
</html>
<script>

document.write("<h2>实操题</h2>");

document.write("1. 让 2019-5-5 变成 2019.5.5","</br>");
var str1="2019-5-5"
document.write(str1.replace(/[^\d]/g,"."),"</br>");




document.write('2. var str = "get-element-by-id";改成单词首字母大写',"</br>");
var str2 = "get-element-by-id";
var i=0;
var arr1=str2.match(/\b\w/g);
console.log(arr1);
var str3= str2.replace(/\b\w/g,function(big){
    
    if(i!=0){
        i++;
       return big.toUpperCase(); 
    }else{
        i++;
       return big; 
    }   
})
document.write(str3,"</br>");




document.write("4. 从一个字符串中提取链接地址。var str = '大家好，我是xxx... &lt;a href='http://www.baidu.com'&gt;BaiduY夏&lt;/a&gt;';","</br>");
var str4 = '大家好，我是xxx... <a href="http://www.baidu.com">BaiduY夏</a>';
document.write(str4.match(/http:\/\/(\w*)\.(\w*)\.(\w*)/g),"</br>");



document.write('5. 写一个正则表达式,在&lt;option value="gz"&gt;广州&lt;/option&gt;匹配 "&lt;option value="gz"&gt;"',"</br>");
var str5 = '<option value="gz">广州</option>';
console.log(str5.match(/<.*(">)/g));
document.write('console.log(str5.match(/<.*(">)/g)); 显示&lt;option value="gz">',"</br>");

document.write("6. 判断字符串是否包含数字var str6 = 'abc9efh';var str7 = 'abcefg';","</br>");
var str6 = 'abc9efh';
var str7 = 'abcefg';
function str(str){
    str.match(/\d/g);
    if(str.match(/\d/g)==null){
        return false;
    }
    else{
        return true;
    }
}
document.write("str6 ",str(str6),"</br>");
document.write("str7 ",str(str7),"</br>");

document.write("7. 判断连续重复字母var str8 = 'abc3d4e5';var str9 = 'aab2c3';","</br>");
var str8 = 'abc3d4e5';
var str9 = 'aab2c3';

var a=false;
function strb(str){
    
    for(var i=0;i<str.length-1;i++){
        
        if(str[i]==str[i+1]){
            console.log("a");
            a = true;
        }
    }
}
strb(str8.match(/\w/g));
document.write("str8 ",a,"</br>");
strb(str9.match(/\w/g));
document.write("str9 ",a,"</br>");


document.write('8. 给定字符串 str，检查其是否符合美元书写格式 str10="$1,023,030.03"',"</br>");
var str10="$1,023,030.03";
function str10a(str){
    if(str.match(/^\$\d{1,3}(,\d{3})*(\.\d{2})$/g)==null){
        return flase;
    }
    return true;
}
document.write(str10a(str10),"</br>");


	
document.write("9. 将单词is替换为IS English poetry is one of their great heritages","</br>");
var str11 = 'English poetry is one of their great heritages';

document.write(str11.replace(/\bis\b/,function(is){
    return is.toUpperCase();
}));


</script>